package dao

type Page struct {
	PageNum     int         // 从1开始
	PageSize    int         // 每页大小
	RecordCount int         // 总纪录数
	Data        interface{} // 数据
}

func NewPage(pageNum, pageSize int) *Page {
	return &Page{
		PageNum:  pageNum,
		PageSize: pageSize,
	}
}
func (p *Page) PageRange() []int {
	var result []int
	for i := 1; i < p.PageCount()+1; i++ {
		result = append(result, i)
	}
	return result
}

// PageCount 总页数
func (p *Page) PageCount() int {
	mod := p.RecordCount % p.PageSize
	if mod == 0 {
		return p.RecordCount / p.PageSize
	}
	return p.RecordCount/p.PageSize + 1
}
